Enhanced broadcast transmission in unslotted channel hopping medium access control

ABSTRACT

A method of operating a mesh network is disclosed. The method includes joining a network as a child of a parent node and receiving a downlink broadcast channel from the parent node. The method further includes setting the downlink broadcast channel as an uplink broadcast channel in response to the step of receiving.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Pat. Application No. 17/508,787, filed Oct. 22, 2021, which is a divisional of U.S. Pat. Application No. 16/877,861, filed May 19, 2020, now Pat. No. 11,184,879, issued Nov. 23, 2021, which is a continuation of U.S Pat. Application No. 15/009,279, filed Jan. 28, 2016, now U.S. Pat. No. 10,687,309, issued Jun. 16, 2020, which claims the priority benefit of U.S. Provisional Pat. Application No. 62/158,702, filed May 8, 2015, which applications are hereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

The present embodiments relate to wireless mesh communication system and, more particularly, to enhanced broadcast transmission in Field and Personal Area Networks.

A wireless mesh network is a type of wireless communication system where at least one wireless transceiver must not only receive and process its own data, but it must also serve as a relay for other wireless transceivers in the network. This may be accomplished by a wireless routing protocol where a data frame is propagated within the network by hopping from transceiver to transceiver to transmit the data frame from a source node to a destination node. A wireless node may be a wireless access point such as a wireless router, a mobile phone, or a computer capable of accessing a wireless Field Area Network (FAN). In other applications, the wireless node may be an external security monitor, a room monitor, a fire or smoke detector, a weather station, or any number of other FAN applications for home or business environments.

A practical mesh network must maintain continuous network paths for all wireless nodes. This requires reliable network formation, reconfiguration around broken or interrupted network paths, and prioritized routing to ensure that data frames travel from source to destination along short yet reliable network paths.

FIG. 1 shows an exemplary wireless Field Area Network (FAN) of the prior art as disclosed in version 0v79 of the 2013 Wi-SUN Alliance Field Area Network Working Group, which is incorporated by reference herein in its entirety. The FAN includes an upper level Wi-Fi control circuit 160 which is directly connected to the internet and serves network nodes within the FAN via Wireless Area Network (WAN) Backhaul circuit 150. The FAN also includes Personal Area Network (PAN) circuits A through C. Each of PAN communicates with WAN Backhaul circuit 150 through respective Border Router Nodes (BR) 100, 120, and 130.

PAN A is an exemplary network that may be similar to PANs B and C. PAN A communicates with WAN Backhaul circuit 150 through Border Router Node (BR) 100. BR 100 communicates directly with Relay node (RN) 102 and with Leaf Node (LN) 114. Thus, BR 100 is a parent node of RN 102 and LN 114. RN 102 is a parent of RN 104 and communicates indirectly with LN 106 via RN 104. RN 102 also communicates directly with RN 108 and indirectly with RN 110 via RN 108. RN 108 also communicates directly with LN 112. RN 108 is a parent of both RN 110 and LN 112.

Once a network node enters a PAN, it may communicate with other nodes of the PAN by uplink transmission to a parent, by downlink transmission to a child, or by peer-to-peer transmission. The mechanisms for each type of transfer depend on whether the network supports transmission of periodic beacons. If the network produces periodic beacons, these may be used by network nodes for synchronization. Alternatively, a network node may not require synchronization and may transmit asynchronously. For either synchronous or asynchronous transmission, however, the beacon is still required for network discovery so that a node may initially join the PAN. Network communication within the PAN is accomplished by Medium Access Control (MAC) frames. These include beacon frames, data frames, acknowledgement frames, and MAC command frames.

PAN nodes use carrier sense multiple access with collision avoidance (CSMA-CA) for either synchronous or asynchronous transmission. Synchronous transmissions are aligned to a PAN beacon with a corresponding back off period. Asynchronous transmissions within the PAN are transmitted on an unslotted CSMA-CA channel. For asynchronous transmission, a node waits for a random back off period while listening to the channel. If the channel is busy, the node waits for another random back off period before trying to access the channel again. When the channel is idle, the node transmits the desired frame. A corresponding return acknowledgement frame without CSMA-CA confirms reception.

Channel hopping has been widely adopted for communicating between network nodes in many wireless and wireline communication systems. Channel hopping essentially involves transmitting signals on different carrier frequencies among many available sub-carriers at different instances of time. A pseudorandom sequence known to both the transmitter and receiver is usually used so that the intended receiver can listen on the correct channel. This improves communication robustness to external noise and helps counter jamming and eavesdropping. Multiple technologies such as Bluetooth and Digital Enhanced Cordless Telecommunications (DECT) incorporate channel hopping mechanisms. Channel hopping may be achieved through many different methods. Among the most common methods are synchronous channel hopping or Time Slotted Channel Hopping (TSCH) and asynchronous unslotted channel hopping as defined in IEEE 802. 15.4e, which is incorporated herein by reference in its entirety. Many standards also exist that use such channel hopping MAC to define MAC protocols for different applications such as the Wi-SUN Alliance FAN.

Referring to FIG. 2 , there is a diagram of unslotted channel hopping for network nodes A, B, and C. In unslotted channel hopping MAC, each node picks a hopping sequence and hops their receivers to different channels according sequence. Each node spends a specified time or dwell interval on each channel before hopping to the next channel. Many methods exist to track the unslotted channel hopping sequence of neighboring nodes within the PAN such as the FH-Discover method proposed by the Wi-SUN Alliance.

There are several problems, however, that may occur with various channel hopping communication systems. Unicast transmissions to a specific receiver are receiver directed in the sense that a node transmits a frame in the receiver’s channel using CSMA-CA. Referring to FIG. 3 , for example, Node A has a normal hopping sequence 1-2-3-4-5. Node B has a normal hopping sequence 1-5-2-4-3. Node A receives a data request from Node B on channel 2. Node A responsively transmits Data to Node B on channel 5. Node B receives the Data and transmits an acknowledgement (ACK) to Node A on channel 5. But the Data and ACK exceed the dwell period of channel 5 and cause Node B to temporarily abandon its normal hopping sequence on channel 2. If another node of the PAN transmits a data frame to Node B on channel 2 according to its normal hopping sequence, the frame will be lost, since Node B is still communicating with Node A on channel 5.

Another problem may arise during broadcast transmission within the PAN. Broadcast transmission occurs during broadcast listening slots as shown in FIG. 4 . Each node advertises its broadcast listening slot which is transmitter directed and all other nodes who are interested in the broadcast transmissions can then listen to the advertised node’s broadcast channel. When a device listens to another nodes broadcast slot, it has to tune its receiver to the advertised broadcast channel. This requires the node to deviate from its advertised unicast channel. The node then resumes its unicast channel hopping after completing the broadcast channel listening as though no deviation had occurred. For example, when node A listens to a broadcast by node B, other nodes in the PAN will not know that node A has suspended its unicast schedule. If another PAN node transmits frame to node A based on its advertised unicast schedule the frame will be lost.

Another problem occurs when there is no limit to a number of broadcast channels to which a node may listen. In this case, a node may spend much of its time listening on a broadcast channel. Therefore, it does not follow its unicast channel hopping schedule and may miss unicast transmissions from other nodes within the PAN. A similar problem occurs when a node listens to only a few other node broadcasts to maximize time on its unicast schedule. In this case it may lose required broadcast data from other nodes. For example, nodes may lose routing information such as Routing Protocol for Low-Power and Lossy Network (RPL) frames. Thus, the node may not be able to choose a better parent when available. One solution is to have a single global broadcast schedule for all nodes to follow. But this limits broadcast transmissions to a single schedule and requires precise time synchronization of all nodes.

Although network proposals of the prior art provide steady improvements in wireless network communications, the present inventors have recognized that still further improvements in mesh network protocol are possible. Accordingly, preferred embodiments described below are directed toward this and other improvements over the prior art.

BRIEF SUMMARY OF THE INVENTION

In a first embodiment of the present invention, there is disclosed a method of operating a mesh network in a wireless communication system. The method includes joining a network as a child of a parent node and receiving a downlink broadcast channel from the parent node. The method further includes setting the downlink broadcast channel as an uplink broadcast channel in response to the step of receiving.

In a second embodiment of the present invention, there is disclosed a method of operating a mesh network in a wireless communication system. The method includes transmitting a beacon from a first node to a second node. The first node directs the second node to set an uplink broadcast channel that is the same as a downlink broadcast channel of the first node.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a diagram showing an exemplary wireless Field Area Network (FAN) of the prior art;

FIG. 2 is a diagram showing exemplary channel hopping schedules for respective network nodes A, B, and C;

FIG. 3 is a diagram showing a problem that may arise with unslotted channel hopping for network nodes A, B, and C according to the prior art;

FIG. 4 is an exemplary diagram showing a relation between unicast and broadcast schedules of the prior art;

FIG. 5 is a flow diagram showing network discovery and PAN entry by a candidate node according to the present invention;

FIG. 6A is a Broadcast Schedule Information Element (BS-IE) frame of the present invention;

FIG. 6B is a diagram showing Broadcast Schedule type bits of FIG. 6A;

FIG. 7 is a diagram showing a relation between unicast and broadcast schedules for nodes A, B, and C according to the present invention;

FIG. 8A is a Personal Area Network Information Element (PAN-IE) frame of the present invention; and

FIG. 8B is a diagram showing Broadcast Schedule Mode bits of FIG. 8A.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIG. 5 , there is a flow diagram showing network discovery and PAN entry by a candidate node according to the present invention. The method begins at step 500 when a candidate node attempting to join the PAN begins a passive scan. The candidate node receives a PAN beacon from the PAN coordinator at step 502 and requests to join the PAN at step 504. The PAN coordinator may grant or refuse the request at step 506. If the PAN coordinator refuses the request, the candidate node resumes the passive scan at step 500. Alternatively, if the request is granted the PAN coordinator adds the candidate node as a child at step 508. At step 510, the newly added node adds the PAN coordinator to its neighbor list. The node then transmits its own beacons to the PAN. PAN entry is complete at step 514.

Referring now to FIG. 6A, there is a Broadcast Schedule Information Element (BS-IE) frame of the present invention. This frame is an information element or beacon that identifies the broadcast schedule of the originating or advertising node. Broadcast transmissions are required for multicasting data and for routing. For example, RPL routing relies on broadcast messaging to form routes. Unlike conventional systems, broadcast transmissions in unslotted channel hopping networks occur only during dedicated broadcast periods on specific frequencies. Thus, transmit and receive broadcasts must be synchronized to be successful. Network nodes typically use uplink broadcasts for transmissions to network neighbors or for route discovery procedure.

The Broadcast Interval (BI) field of the BS-IE is a 32-bit (4 octets) unsigned integer indicating the duration in milliseconds between Broadcast Dwell intervals within the advertising node’s broadcast schedule. The Broadcast Schedule Identifier (BSI) field is a 16-bit (2 octets) unsigned integer set to the BSI value corresponding broadcast channel hopping sequence currently in use in the PAN. The Dwell Interval (DI) field is an 8-bit unsigned integer set to the time in milliseconds during which the node is active on each channel of its hopping schedule. The Clock Drift field is an 8-bit unsigned integer set to the reporting node’s worst case drift of the clock it uses to measure its frequency hopping DI. The Timing Accuracy field is an 8-bit unsigned integer that indicates the accuracy of time values generated by the node to a resolution of 10 microseconds. The Channel Plan field is a 3-bit unsigned integer indicating the source of the node’s channel plan. The Channel Function field is a 3-bit unsigned integer indicating the source of the node’s channel function. The Excluded Channel Control field is a 2-bit integer indicating whether there are excluded channels in the BS-IE. The Channel Information Fields have a variable size and indicate specific details including channel spacing, the number of channels, the channel hop count, the channel hop list, and excluded channel ranges.

Turning now to FIG. 6B, there is a diagram showing Broadcast Schedule type bits of FIG. 6A according to the present invention. As previously discussed, the Broadcast Schedule Identifier field is a 16-bit (2 octets) unsigned integer set to the BSI value corresponding broadcast channel hopping sequence currently in use in the PAN. The first 2 bits indicate the Broadcast Schedule (BS) Type. The remaining 14 bits indicate the broadcast channel hopping sequence currently in use in the PAN. The BS Type field is set to 00 to indicate the broadcast channel is for uplink and downlink communication. It is set to 01 to indicate the broadcast channel is for uplink communication only and set to 10 to indicate the broadcast channel is for downlink communication only.

When a network node receives the BS-IE frame from a parent (502, FIG. 5 ) it sets its uplink broadcast channel to the parent downlink broadcast channel (510, FIG. 5 ). This is illustrated in the diagram of FIG. 7 , where Node A is a parent of Node B, and Node B is a parent of Node C. If Node A communicates directly with the BR node of the PAN, it sets its uplink broadcast channel (Broadcast_up) to the same time and frequency as the downlink broadcast of the BR node. Node A also selects a downlink broadcast channel (Broadcast_dn) between CH4 and CH1. Node B sets its uplink broadcast channel (Broadcast_up) to the same time and frequency as the downlink broadcast of Node A. Node B also selects a downlink broadcast channel (Broadcast_dn) between CH1 and CH3. Node C sets its uplink broadcast channel (Broadcast_up) to the same time and frequency as the downlink broadcast of Node B. Node C also selects a downlink broadcast channel (Broadcast_dn) between CH3 and CH4. This procedure is highly advantageous for several reasons. First, it assures a child node will not miss downlink broadcasts from its parent node. The child will transmit uplink broadcasts during the parent downlink broadcast period using CSMA-CA. If there is a parent downlink broadcast, therefore, the child will receive it. Second, the child node may select any downlink broadcast schedule or reuse an existing uplink broadcast schedule. Third, the selected broadcast schedules are communicated to other network nodes along with channel hopping patterns after the network node enters the PAN and transmits its own beacons (512, FIG. 5 ). Fourth, each network node may choose to have a downlink broadcast schedule that is the same as its uplink broadcast schedule. In this case, all network nodes share a common broadcast schedule and network maintenance and implementation is greatly simplified. Finally, each node may independently select different broadcast schedules to maximize broadcast channel diversity.

In an alternative embodiment of the present invention, a Border Router (BR) node may specify the broadcast operating mode for network nodes of the PAN. The diagram of FIG. 8A is a Personal Area Network Information Element (PAN-IE), which is part of a MAC command frame according to the present invention. The PAN Size field is a 16-bit (2 octets) unsigned integer set to the number of PAN nodes communicating through the BR. The Routing cost field is an 8-bit unsigned integer set to an estimate of the logical distance or number of nodes of the routing path from the node to the BR. The Use Parent BS-IE field is a 1-bit signal indicating whether the receiving node must propagate the parent’s BS-IE. If the bit is set to 1, a receiving node must use the parent’s broadcast schedule as indicated by the parent’s BS-IE. If the bit is set to 0, the receiving node may create its own broadcast schedule in a respective BS-IE. The Routing Method field is a 1-bit signal indicating whether the PAN is a level 2 or level 3 network. The EAPOL Ready field is a 1-bit signal indicating whether the transmitting node may accept EAPOL authenticated messages. One bit of the 6-bit reserved field is used to indicate the directed broadcast (BS) mode of the receiving node. As shown in FIG. 8B, this 1-bit field is set to 0 to indicate the broadcast channel is globally unique. In this case, each node of the PAN uses the same uplink and downlink broadcast periods. Alternatively, if the BS Mode field is set to 1, the receiving node selects the parent node downlink broadcast period for its uplink broadcast period and selects a downlink broadcast period at its own discretion. When a node picks different broadcast schedules for uplink and downlink directions, it should also periodically exchange the timing information for each schedule so that other nodes can follow the different schedules separately.

A node may select more than one uplink schedule. If so, it should inform other PAN nodes of the selected schedules in its message exchanges. However, it is preferable to limit the number of different uplink BS-IEs to which a node may listen, to a maximum of two to keep the network management tractable. In particular, if a network node selects more than one downlink broadcast schedule, children should be informed so that they can follow all parent downlink broadcasts. A node may also change the different BS-IEs that it monitors and then advertise that in its configuration beacon. For example a node may get a beacon from a new node and decide to follow the new node while still following its parent. In such cases, the node should follow its preferred parent’s downlink schedule while also following the alternate node’s broadcast schedule. After a while the device may choose to change the parent or stop monitoring the alternate node’s schedule.

When a node receives a broadcast frame in its uplink BS slot, it indicates that to the next higher layer (NHL). The NHL may then choose to send the frame in its downlink BS slot to ensure that a different set of nodes actually receive the broadcast frame. The NHL, therefore, should thus specify whether the broadcast frame is to be transmitted in an uplink or downlink broadcast period.

A packet received during uplink broadcast period is from the receiving node’s parent. Therefore, it should be rebroadcast in the receiving nodes downlink period to assure the node’s children receive the broadcast frame. Likewise, a reciprocal operation should be performed when a broadcast frame is received during a node’s downlink broadcast period. Since this frame is from a child, it should be rebroadcast to other of the node’s children in the PAN.

Still further, while numerous examples have thus been provided, one skilled in the art should recognize that various modifications, substitutions, or alterations may be made to the described embodiments while still falling with the inventive scope as defined by the following claims. For example, although preferred embodiments of the present invention are applied to a Directed Acyclic Graph or tree-like network, they may be readily adapted to any network topology. Other combinations will be readily apparent to one of ordinary skill in the art having access to the instant specification. 

What is claimed is:
 1. A method comprising: receiving, by a first node, a first broadcast schedule information element that specifies a broadcast schedule of a parent node of the first node, the first broadcast schedule information element specifying a first channel as a downlink broadcast channel of the parent node; setting the first channel as an uplink broadcast channel of the first node; sending, by the first node, a broadcast to the parent node via the first channel according to the broadcast schedule of the parent node; and transmitting, by the first node, a beacon that includes a second broadcast schedule information element that specifies a broadcast schedule of the first node that is different from the broadcast schedule of the parent node, wherein the second broadcast schedule information element specifies a second channel as the downlink broadcast channel of the first node, wherein the second channel is different from the first channel.
 2. The method of claim 1, wherein the first broadcast schedule information element specifies a broadcast direction along a hierarchy of a network.
 3. The method of claim 1, further comprising joining, by the first node, a network as a child node of the parent node.
 4. The method of claim 3, wherein the network is a personal area network (PAN).
 5. The method of claim 4, wherein the PAN is within a field area network (FAN).
 6. The method of claim 1, wherein the broadcast schedule of the parent node specifies an interval for the parent node to use the first channel as an uplink broadcast channel.
 7. The method of claim 1, wherein the parent node is a border router node.
 8. A method comprising: receiving, by a first node, a first broadcast schedule information element that specifies a broadcast schedule of a parent node of the first node, based on the first broadcast schedule information element, setting the first node to transmit a broadcast according to the broadcast schedule of the parent node; transmitting, by the first node, the broadcast; and transmitting, by the first node, a beacon that includes a second broadcast schedule information element that specifies a broadcast schedule of the first node, wherein the first broadcast schedule information element includes a broadcast schedule identifier field that specifies whether the first broadcast schedule information element specifies: an uplink broadcast schedule of the parent node, a downlink broadcast schedule of the parent node, or uplink and downlink broadcast schedules of the parent node.
 9. The method of claim 8, wherein the broadcast schedule of the parent node specifies a first channel as a downlink broadcast channel of the parent node.
 10. The method of claim 9, wherein the setting of the first node to send the broadcast comprises causing the first node to: set the first channel as an uplink broadcast channel of the first node; and sensing the broadcast to the parent node via the first channel according to the broadcast schedule of the parent node.
 11. The method of claim 10, further comprising setting a second channel that is different from the first channel as a downlink broadcast channel of the first node.
 12. The method of claim 11, wherein the second broadcast schedule information element specifies the second channel as the downlink broadcast channel of the first node.
 13. The method of claim 8, wherein the broadcast schedule of the parent node specifies an interval for the parent node to use a first channel as an uplink broadcast channel.
 14. The method of claim 8, wherein the parent node is a border router node.
 15. The method of claim 8, further comprising joining, by the first node, a network as a child node of the parent node.
 16. The method of claim 15, wherein the network is a personal area network (PAN).
 17. The method of claim 16, wherein the PAN is within a field area network (FAN).
 18. A device comprising: a transceiver configured to couple to a network; and a processor coupled to the transceiver and configured to: cause the transceiver to join the device to the network as a child node of a parent node, receive, via the transceiver, a first broadcast schedule information element that specifies a broadcast schedule of the parent node, the first broadcast schedule information element specifying a first channel as a downlink broadcast channel of the parent node, set the first channel as an uplink broadcast channel of the device, cause the transceiver to transmit a broadcast to the parent node via the first channel, and cause the transceiver to transmit a beacon that includes a second broadcast schedule information element that specifies a broadcast schedule of the device, wherein the second broadcast schedule information element specifies a second channel as the downlink broadcast channel of the device, and wherein the second channel is different from the first channel.
 19. The device of claim 18, wherein the broadcast schedule of the parent node specifies an interval for the parent node to use the first channel as an uplink broadcast channel.
 20. The device of claim 18, wherein the network is a personal area network (PAN) within a field area network (FAN). 